package net.myjung.model;

import java.util.List;

import net.myjung.model.annotation.MdlAttribute;
import net.myjung.model.annotation.MdlClass;
import net.myjung.model.annotation.MdlElement;

@MdlClass(name = "Method")
@SuppressWarnings("serial")
public class MdlMethod extends MdlObject {
	@MdlAttribute
	private String returns;
	@MdlAttribute(name = "throws")
	private String throwz;
	@MdlAttribute
	private Boolean aopEnabled = false;
	@MdlAttribute
	private Boolean restEnabled = false;
	@MdlAttribute
	private Boolean adminEnabled = false;
	@MdlElement(singular = "parameter")
	private List<MdlParameter> parameters;
	@MdlElement
	private MdlImplementation implementation;
	@MdlElement
	private MdlImplementation beforeAdvice;
	@MdlElement
	private MdlImplementation afterAdvice;
	@MdlElement
	private MdlImplementation throwsAdvice;
	public String getReturns() {
		return returns;
	}
	public void setReturns(String returns) {
		this.returns = returns;
	}
	public String getThrows() {
		return throwz;
	}
	public void setThrows(String throwz) {
		this.throwz = throwz;
	}
	public Boolean getAopEnabled() {
		return aopEnabled;
	}
	public void setAopEnabled(Boolean aopEnabled) {
		this.aopEnabled = aopEnabled;
	}
	public Boolean getRestEnabled() {
		return restEnabled;
	}
	public void setRestEnabled(Boolean restEnabled) {
		this.restEnabled = restEnabled;
	}
	public Boolean getAdminEnabled() {
		return adminEnabled;
	}
	public void setAdminEnabled(Boolean adminEnabled) {
		this.adminEnabled = adminEnabled;
	}
	public List<MdlParameter> getParameters() {
		return parameters;
	}
	public void setParameters(List<MdlParameter> parameters) {
		this.parameters = parameters;
	}
	public MdlImplementation getImplementation() {
		return implementation;
	}
	public void setImplementation(MdlImplementation implementation) {
		this.implementation = implementation;
	}
	public MdlImplementation getBeforeAdvice() {
		return beforeAdvice;
	}
	public void setBeforeAdvice(MdlImplementation preImplementation) {
		this.beforeAdvice = preImplementation;
	}
	public MdlImplementation getAfterAdvice() {
		return afterAdvice;
	}
	public void setAfterAdvice(MdlImplementation postImplementation) {
		this.afterAdvice = postImplementation;
	}
	public MdlImplementation getThrowsAdvice() {
		return throwsAdvice;
	}
	public void setThrowsAdvice(MdlImplementation throwsAdvice) {
		this.throwsAdvice = throwsAdvice;
	}
}
